#ifndef LED_CONTROL_H
#define LED_CONTROL_H

#include <Arduino.h>

/**
 * @brief LED控制类
 * 用于管理LED灯的开关和闪烁功能
 */
class LedControl {
private:
    uint8_t _pin;       // LED引脚
    bool _state;        // LED状态
    
public:
    /**
     * @brief 构造函数
     * @param pin LED连接的引脚
     */
    LedControl(uint8_t pin);
    
    /**
     * @brief 初始化LED引脚
     */
    void begin();
    
    /**
     * @brief 打开LED
     */
    void turnOn();
    
    /**
     * @brief 关闭LED
     */
    void turnOff();
    
    /**
     * @brief 切换LED状态
     */
    void toggle();
    
    /**
     * @brief 获取LED当前状态
     * @return LED状态，true为开，false为关
     */
    bool getState();
    
    /**
     * @brief LED闪烁
     * @param times 闪烁次数
     * @param onTime 每次亮的时间（毫秒）
     * @param offTime 每次灭的时间（毫秒）
     */
    void blink(uint8_t times, unsigned long onTime, unsigned long offTime);
};

#endif // LED_CONTROL_H 